package com.yunxin.core.infra.persistence.mapper.contact;

import com.baomidou.dynamic.datasource.annotation.DS;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;

/**
 * @author zero°
 * @since 2023-06-04
 */
@DS("core")
@Mapper
public interface ContactMessageSendTaskExecuteExtendMapper extends ContactMessageSendTaskExecuteMapper {

    /**
     * 根据任务详情id及开始、结束时间获取任务执行id
     * @param taskDetailId taskDetailId
     * @param startTime startTime
     * @param endTime endTime
     * @return long
     */
    Long selectTaskExecuteIdByTaskDetailAndTime(@Param("taskDetailId") Long taskDetailId,
                                                            @Param("startTime") Date startTime,
                                                            @Param("endTime") Date endTime);

    /**
     * 根据id更新总条数
     * @param id id
     * @param count count
     * @return count
     */
    int  updateTotalCountById(@Param("id") Long id, @Param("count") int count);

    /**
     * 根据id更新成功条数
     * @param id id
     * @param count count
     * @return count
     */
    int  updateSuccessCountById(@Param("id") Long id, @Param("count") int count);

    /**
     * 根据id更新成功条数
     * @param id id
     * @param count count
     * @return count
     */
    int  updateReachCountById(@Param("id") Long id, @Param("count") int count);

}
